45 research outputs found

    Addressing the Node Discovery Problem in Fog Computing

    Get PDF
    In recent years, the Internet of Things (IoT) has gained a lot of attention due to connecting various sensor devices with the cloud, in order to enable smart applications such as: smart traffic management, smart houses, and smart grids, among others. Due to the growing popularity of the IoT, the number of Internet-connected devices has increased significantly. As a result, these devices generate a huge amount of network traffic which may lead to bottlenecks, and eventually increase the communication latency with the cloud. To cope with such issues, a new computing paradigm has emerged, namely: fog computing. Fog computing enables computing that spans from the cloud to the edge of the network in order to distribute the computations of the IoT data, and to reduce the communication latency. However, fog computing is still in its infancy, and there are still related open problems. In this paper, we focus on the node discovery problem, i.e., how to add new compute nodes to a fog computing system. Moreover, we discuss how addressing this problem can have a positive impact on various aspects of fog computing, such as fault tolerance, resource heterogeneity, proximity awareness, and scalability. Finally, based on the experimental results that we produce by simulating various distributed compute nodes, we show how addressing the node discovery problem can improve the fault tolerance of a fog computing system

    Redefining the Role of Testers in Organisational Transition to Agile Methodologies

    Get PDF
    Many challenges confront companies when they change their current software development process to an agile development methodology. Those challenges could be rather difficult but one that requires considerable attention is the integration of testing with development. This is because in heavyweight processes, as in the traditional waterfall approach, testing is a phase often conducted by testers as part of a quality assurance team towards the end of the development cycle whereas in the agile methodology testing is part of a continuous development activity with no specific “tester” role defined. In this paper we consider several options for testers when an organisation transit to agile methodology, and propose a new project mentor role for them. This role aims to utilize the knowledge that testers already have in both the business domain and the development technology together with their expertise in quality practices. This role will enhance the stature of testers as well as enable the company to effectively deploy the testers in the new environment. Motivations and benefits for this role are presented in this paper together with our plan for evaluation of this proposal

    A Successful Application of the Agile Manifesto to Resource Constrained Projects with Open Specifications

    Get PDF
    In this paper we describe how agile manifesto can be applied when a specific software solution is needed in a resource, i.e., time- and manpower- constrained environment, while the specifications are not detailed, and are prone to changes. The case study, to which this method was put on test, was an online application framework for the EU-funded EURECA project, which deals with academic mobility at all levels (e.g., students, researchers, and staff) between 16 different universities from countries in Asia and Europe. The organization of this project turned out to be a herculean task during the first call for applications. Subsequently, we developed an on-line application management framework with limited resources within a short span of time following the principles and practices of the agile manifesto. The stages and processes that were used during development are discussed in this paper, both in general and for the actual application in the EURECA framework development

    Optimising Model for Memory Fault Tolerance in Onboard Computer

    Get PDF
    This paper presents an optimising model for integrating the traditional reliability prediction methodology with simple analytical techniques to facilitate the designer to decide upon the memory fault-tolerant choices of an onboard computer. In this exercise, the hardware reliability estimates of a circuit without any error correction as well as that of a circuit with error detection and correction were calculated. The failure rates of each component and soldering have been accounted for in these prediction procedures. A suitable probability distribution is chosen for data errors and is analytically combined with the hardware reliability predictions to study the trade-offs. An optimum strategy for introducing the hardware error correction logic in the circuit is presented

    Agile practices in regulated railway software development

    Get PDF
    Abstract-Complex software is becoming an important component of modern safety-critical systems. To assure the correct function of such software, the development processes are heavily regulated by international standards, often making the process very rigid, unable to accommodate changes, causing late integration and increasing the cost of development. Agile methods have been introduced to address these issues in several software domains, but their use in safety-critical applications remains to be investigated. This paper provides an initial analysis of agile practices in the context of software development for the European railway sector, regulated by the EN 50128 standard. The study complements previous studies on the use of agile methods in other regulated domains. A systematic mapping between EN 50128 requirements and agile practices showed that all practices support some objectives of the standard. Important supporting features recognized were focus on simple design, test automation, coding standards, continuous integration and validation. However, several problematic areas were also identified, including vague requirement analysis and change management. Most agile practices must be adapted to suit regulated software development and this analysis outlines a subset of the required changes

    Multiprocessor fixed priority scheduling with limited preemptions

    Get PDF
    Challenges associated with allowing preemptions and migrations are compounded in multicore systems, particularly under global scheduling policies, because of the potentially high overheads. For example, multiple levels of cache greatly increase preemption and migration related overheads as well as the difficulty involved in accurately accounting for them, leading to substantially inflated worst-case execution times (WCETs). Preemption and migration related overheads can be significantly reduced, both in number and in size, by using fixed preemption points in the tasks' code; thus dividing each task into a series of non-preemptive regions (NPRs). This leads to an additional consideration in the scheduling policy. When a high priority task is released and all of the processors are executing non-preemptive regions of lower priority tasks, then there is a choice to be made in terms of how to manage the next preemption. With an eager approach the first lower priority task to reach a preemption point is preempted even if it is not the lowest priority running task. Alternatively, with a lazy approach, preemption is delayed until the lowest priority currently running task reaches its next preemption point. In this paper, we show that under global fixed priority scheduling with eager preemptions each task suffers from at most a single priority inversion each time it resumes execution. Building on this observation, we derive a new response time based schedulability test for tasks with fixed preemption points. Experimental evaluations show that global fixed priority scheduling with eager preemptions is significantly more effective than with lazy preemption using link based scheduling in terms of task set schedulability

    Exact Speedup Factors and Sub-Optimality for Non-Preemptive Scheduling

    Get PDF
    Fixed priority scheduling is used in many real-time systems; however, both preemptive and non-preemptive variants (FP-P and FP-NP) are known to be sub-optimal when compared to an optimal uniprocessor scheduling algorithm such as preemptive earliest deadline first (EDF-P). In this paper, we investigate the sub-optimality of fixed priority non-preemptive scheduling. Specifically, we derive the exact processor speed-up factor required to guarantee the feasibility under FP-NP (i.e. schedulability assuming an optimal priority assignment) of any task set that is feasible under EDF-P. As a consequence of this work, we also derive a lower bound on the sub-optimality of non-preemptive EDF (EDF-NP). As this lower bound matches a recently published upper bound for the same quantity, it closes the exact sub-optimality for EDF-NP. It is known that neither preemptive, nor non-preemptive fixed priority scheduling dominates the other, in other words, there are task sets that are feasible on a processor of unit speed under FP-P that are not feasible under FP-NP and vice-versa. Hence comparing these two algorithms, there are non-trivial speedup factors in both directions. We derive the exact speed-up factor required to guarantee the FP-NP feasibility of any FP-P feasible task set. Further, we derive the exact speed-up factor required to guarantee FP-P feasibility of any constrained-deadline FP-NP feasible task set

    Quality of Testing in Test Driven Development

    No full text
    Abstract-Test-driven development is an essential part of eXtreme Programming approach with the preference of being followed in other Agile methods as well. For several years, researchers are performing empirical investigations to evaluate quality improvements in the resulting code when test-driven development is being used. However, very little had been reported into investigating the quality of the testing performed in conjunction with test-driven development. In this paper we present results from an experiment specifically designed to evaluate the quality of test cases created by developers who used the test-first and the traditional test-last approaches. On an average, the quality of testing in test-driven development was almost the same as the quality of testing using test-last approach. However, detailed analysis of test cases, created by test-driven development group, revealed that 29% of test cases were "negative" test cases (based on non-specified requirements) but contributing as much as 65% to the overall tests quality score of test-first developers. We are currently investigating the possibility of extending testdriven development to facilitate non-specified requirements to a higher extent and thus minimise the impact of a potentially inherent effect of positive test bias

    Better, Faster, Cheaper, and Safer Too : Is This Really Possible?

    No full text
    Increased levels of automation together with increased complexity of automation systems brings increased responsibility on the system developers in terms of quality demands from the legal perspectives as well as company reputation. Component based development of software systems provides a viable and cost-effective alternative in this context provided one can address the quality and safety certification demands in an efficient manner. In this paper we present our vision, challenges and a brief outline of various research themes in which our team is engaged currently within two major projects.Best Work-in-Progress Paper Award in Factory AutomationSafeCOP - Safe Cooperating Cyber-Physical Systems using Wireless Communicatio
    corecore